import logging

import allure
import pymysql
import requests
from config.config import *
import os

@allure.step("核心2：发送http请求")
def send_http_request(requests_data):
    # 核心步骤二：发送请求
    response = requests.request(**requests_data)
    logging.info("2.发送http请求，响应文本是：{}".format(response.text))
    return response

@allure.step("核心2：发送jdbc请求")
def send_jdbc_request(sql,index=0):
    # 核心步骤二：发送请求（查找sql语句）
    conn = pymysql.Connect(
        # host=HOST,
        # port=PORT,
        # database=DATABASE,
        # user=USER,
        # password=PASSWORD,
        # 从os环境变量中取出以DB为keys的value值
        # 由于配置文件是字符串，所以需要用eval()函数进行转换
        # 用eval转换之后，获取到的是一个字典，所以需要用**解包
        **eval(os.environ["DB"]),
        charset=CHARSET
    )
    cur = conn.cursor()
    cur.execute(sql)
    result = cur.fetchone()
    cur.close()
    conn.close()
    return result[index]

def send_jdbc_dml_request(sql):
    """
    :param sql: 传入的sql语句
    :return: 返回执行增删改sql语句之后的结果
     """
    con = pymysql.Connect(
        # 从os环境变量中取出以DB为keys的value值
        # 由于配置文件是字符串，所以需要用eval()函数进行转换
        # 用eval转换之后，获取到的是一个字典，所以需要用**解包
        **eval(os.environ["DB"]),
        charset=CHARSET
    )
    cur = con.cursor()
    cur.execute(sql)
    # 提交
    con.commit()
    # print(admin_name)
    cur.close()
    con.close()